Order Master
Справочный центр Order Master всех версий
Как добавить автоматическое формирование квитанции для банка?
В этой инструкции я расскажу как в Order Master Pro можно добавить собственный способ оплаты - например, формировать автоматически форму с реквизитами для оплаты.
Насколько мне известно подобные формы имеют определённый стандарт - который можно перевести в HTML-таблицу с помощью тегов <table>, <tr>, <td> - это уже можно сделать самостоятельно (оформить дизайн), либо если где-либо такое найти на чужом сайте - скопировать код оттуда.
Шаг 1. Итак, допустим мне нужно выдать автомтачески реквизиты и назначение платежа с суммой в виде таблицы человеку, когда он выбирает "Банковский перевод" и при этом я хочу получить на свой счёт. Напишу на примере реквизитов для украинского банка (с банками России, к сожалению, знаком гораздо хуже):
Получатель | СПД "Иванов И. И." |
Код ЕГРПОУ | 3112233454 |
Расчётный счёт | 26004578354312 |
МФО | 603872 |
Название банка | ПриватБанк |
Сумма платежа | 213,04 грн. |
Назначение платежа | Оплата услуг согласно СФ №-213 от 01.02.2013 без НДС |
Собственно внешний вид такой таблички может быть ЛЮБОЙ - как нравится, так и можно подготовиить - его достаточно подготовить для себя в статическом HTML в любом редакторе - для начала, просто вписав данные.
Шаг 2. Теперь нужно добавить сам "Способ оплаты" и подставить нужные макросы.
Далее нажимаем справа - "Добавить способ" и вот здесь собственно и вся сложность по добавлению способа будет:
1) Способ - придумать любой идентификатор из английских букв - например "bank"
2) Название способа - на русском, тут как удобно
3) Собственно HTML код.
Сюда нужно будет вставить заготовленный HTML-код, но при этом меняющиеся места - как например, сумма или номер счёта или дата - для этого уже понадобятся макросы:
{bill_id} - номер счёта
{rur}, {usd}, {uah}, {eur} - сумма в одной из 4 валют
Макрос даты не предусмотрен пока что, но если её надо выводить - то это можно сделать либо средствами JavaScript (есть коды вывода даты в Интернете готовые), но тогда будет дата с компьютера пользователя в его часовом поясе, либо второй вариант более простой - добавить свой макрос:
- в файле op/protected/controllers/BillController.php - найти такую строчку (если файл шифрован вдруг - я вышлю незашифрованный, но по-моему он был нешифрован):
$vv['uname'] = $bill->uname;
И после неё добавить свой макрос - например {date}:
$vv['date'] = date ('j.m.Y');
Теперь в месте где нужно будет выводить дату - просто ставим {date}.
Если номера счетов-фактур не соответствуют к примеру номерам счетов в Order Master Pro - в таком случае можно сделать свой макрос и для счёта-фактуры, например, вычитая 1000 или ещё путём других вычислений или извлечения к примеру из .txt файла и др. Вот например если номер счёта в системе OM Pro - 1234 - а нужен СФ - 234, т.к. до этого СФ не выписывались:
$vv['sfid'] = $bill->id - 1000;
- теперь макрос {sfid} будет показывать номер СФ на 1000 меньше (вот только как решать с "пропущенными" СФ - то есть когда к примеру оплачивают WebMoney - можно просто формировать самому пустые бланки с неоплаченными СФ на распечатку или же сделать что-то в админке по их выводу - если это нужно вдруг)
Итак, собственно в нашем коде нужно к примеру для "Назначения платежа" подставить макросы:
Оплата услуг согласно СФ №-{bill_id} от {date} без НДС
А для поля "Сумма" (если для гривен к примеру - можно для рублей аналогично rur): {uah} грн.
Готовый HTML-код с макросами мы вставляем в поле "HTML-код способа":
Шаг 3.
Теперь, когда способ добавлен - осталось сделать чтобы он выводился на выписанном счёте.
Для этого нам понадобится пункт меню "Выбор оплаты":
Далее добавляем новый "Вариант оплаты" и заполняем форму:
Особое внимание обратить стоит на "Способы оплаты" - там выбирается ID добавленного нам ранее способа.
Поле "Категория" - если указано буква-в-букву - как из уже существующих у других способов - при выводе объединится с существующими способами в блоке, иначе вынесется в отдельный "блок".
Иконки можно загрузить в папку /op/images/ways/ - размером 30на30 . Имя указывать нужно БЕЗ расширения .gif (на скриншоте выше неправильно - я потом увидел ошибку - просто privat и всё, как у других вариантов оплаты).
URL сайта можно указать сайт банка или не указывать. Позиция определяет насколько высоко (чем меньше значение - тем выше) будет способ в общем списке.
Добавляем этот способ.
Шаг 4. Проверка.
Осталось только проверить.
Я нажимаю на любой выписанный счёт или выписываю новый и вижу такую картину:
Выбираю способ и нажимаю "Подробнее" - и вижу, что мой способ появился:
В принципе что и следовало ожидать. Все макросы подставлены. Единственное - как у других способов - можно оформить по центру заголовок и дополнительную информацию к данному способу.
Можно добавить также макрос {notify_link} - чтобы человек сохранил у себя эту ссылку и по ней он может оповестить вручную об оплате счёта (но аналогично - Вы можете принимать по тикетной системе/e-mail такие оповещения - тут уже выбор лично каждого продавца). Также вверху есть постоянная ссылка на данный счёт.
Вот и всё что нужно для добавления ЛЮБОГО собственного способа в неавтоматическом режиме приёма платежей. Дополнительные макросы с помощью php-кода несложного - можно добавлять как я показал - на примере макроса даты (несложные решения я могу подсказать лично, а более сложные варианты - могут сделать фрилансеры к примеру).